package com.mjf.cjt.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * desc
 * </p>
 *
 * @author chenshoumeng
 * @date 2025/8/6 22:16
 */
@Data
@TableName("t_cjtzjb_purchasearrival")
public class TCjtzjbPurchaseArrival {
    @TableId(type = IdType.AUTO)
    private Long id; // 主键ID
    private String externalCode; // 外部系统单据编码，编码必须唯一
    private String code; // 单据编码
    private Boolean ismodifiedCode; // 是否修改编号
    private LocalDate voucherdate; // 单据日期
    private String businesstypeCode; // 业务类型编码
    private String invoicetypeCode; // 票据类型编码
    private String paytypeCode; // 付款方式编码
    private String partnerCode; // 往来单位编码
    private String deptCode; // 部门编码
    private String clerkCode; // 业务员编码
    private String rdstyleCode; // 出库类型编码
    private String warehouseCode; // 仓库编码
    private String warehouseName; // 仓库名称
    private String marketingOrganCode; // 营销机构编码

    // 公用数值自定义项
    private BigDecimal pubuserdefdecm1;
    private BigDecimal pubuserdefdecm2;
    private BigDecimal pubuserdefdecm3;
    private BigDecimal pubuserdefdecm4;
    private BigDecimal pubuserdefdecm5;

    // 公用字符自定义项
    private String pubuserdefnvc1;
    private String pubuserdefnvc2;
    private String pubuserdefnvc3;
    private String pubuserdefnvc4;
    private String pubuserdefnvc5;

    // 私有数值自定义项
    private BigDecimal priuserdefdecm1;
    private BigDecimal priuserdefdecm2;
    private BigDecimal priuserdefdecm3;
    private BigDecimal priuserdefdecm4;
    private BigDecimal priuserdefdecm5;

    // 私有字符自定义项
    private String priuserdefnvc1;
    private String priuserdefnvc2;
    private String priuserdefnvc3;
    private String priuserdefnvc4;
    private String priuserdefnvc5;

    private String projectCode; // 项目编码
    private String memo; // 表头备注
    private Boolean ispriceCheck; // 是否价格跟踪

    private String detailCode; // 行号，从1开始增长
    private String inventoryCode; // 存货编码
    private String inventoryName; // 存货名称
    private String inventoryBarcode; // 存货条形码
    private String projectName; // 项目名称
    private String invlocationCode; // 货位编码
    private String invlocationDetailsCode; // 货位编码（明细）
    private BigDecimal invlocationDetailsQuantity; // 当前货位要存放的数量
    private String inventoryLocation; // 单/多货位标识，值为“多货位”或为空
    private LocalDate expiryDate; // 失效日期
    private LocalDate productionDate; // 生产日期
    private String batch; // 批号
    private String sncode; // 序列号编码
    private String unitName; // 计量单位名称
    private BigDecimal quantity; // 数量
    private BigDecimal basequantity; // 主计量单位数量
    private BigDecimal amount; // 成本金额
    private BigDecimal price; // 成本单价
    private Boolean ismodifiedPrice; // 是否手工改价
    private BigDecimal quantity2; // 数量2
    private BigDecimal origTaxAmount; // 含税金额
    private BigDecimal origTaxPrice; // 含税单价
    private BigDecimal origDiscountPrice; // 单价（折扣后）
    private BigDecimal origDiscountAmount; // 金额（折扣后）
    private BigDecimal discountRate; // 折扣率
    private BigDecimal origPrice; // 报价
    private BigDecimal taxRate; // 税率
    private BigDecimal taxAmount; // 税额
    private LocalDate acceptDate; // 到货日期
    private Boolean ispresent; // 是否赠品

    private LocalDateTime createTime; // 创建时间
    private Long createId; // 创建人ID

    private Integer isPush; // 是否推送：0-否，1-是
    private String pushResult; // 推送结果
    private LocalDateTime times; // 推送时间
}
